
package com.wyzz.hr.bo;

import java.util.*;

import com.wyzz.hr.pojo.Department;
import com.wyzz.hr.pojo.Depthist;
import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Emptransfer;
import com.wyzz.hr.pojo.Position;
import com.wyzz.hr.pojo.PositionBase;
import com.wyzz.hr.pojo.PositionBaseHist;
import com.wyzz.hr.util.Message;

public interface IDepartmentBO {

	public abstract List FindAllDepartment();

	public abstract List FindEnabledDepartment();

	public abstract List getSubDeptsByParentId(String s);

	public abstract Integer getMaxSortId();

	public abstract boolean addDeptSave(Department department,
			PositionBase positionbase, Position position, Depthist depthist,
			PositionBaseHist positionbasehist);

	public abstract List FindAllDepartmentConHead();

	public abstract boolean addDepartment(Department department);

	public abstract String delDepartment(Class class1, String s);

	public abstract String updateDepartment(Department department);

	public abstract List getDepartmentsByNos(String as[]);

	public abstract Department loadDepartmentByNo(String s, String as[]);

	public abstract void saveDepartmentSortIdByBatch(String as[]);

	public abstract int getActiveEmpNos(String s);

	public abstract boolean saveorUpdateDepartment(Department department);

	public abstract void saveMergeDept(String s, String s1, String as[][],
			Message message);

	public abstract int getOrderEmpNos(String s);

	public abstract Department getDeptById(String s);

	public abstract Department getDeptByName(String s, String s1);

	public abstract String getDeptInCharge(String s);

	public abstract String[] getAllSubDeptIds(int i, String s);

	public abstract String[] getAllSubDeptIds(String as[]);

	public abstract List getAllSubDepts(Integer integer, String as[]);

	public abstract Map getSubDeptsOfDeptandDirectSub(Department department);

	public abstract List getAllSubDeptsOfDept(Department department);

	public abstract void update_disableDept(String s, Message message);

	public abstract String update_enableDept(String s);

	public abstract void deleteDept(String s, Message message);

	public abstract String saveProcessDeptRename(Department department);

	public abstract String saveDeptMove(String s, String s1);

	public abstract boolean saveEmpTransferData(Employee employee,
			Department department, PositionBase positionbase);

	public abstract List FindEnabledDepartmentNode();

	public abstract List getAllActiveDeptEmpNumList();

	public abstract Map getDeptLevels(Department adepartment[], Date date);

	public abstract void setListDeptLevels(List list, String s, String s1,
			String s2, String as[]);

	public abstract List setDeptOfNodeList(List list, int i);

	public abstract Map getDeptLevelNameMap();

	public abstract String checkInputDeptLevel(Map map, String as[]);

	public abstract Integer checkInputDeptLevel(Employee employee, Map map);

	public abstract Integer checkInputDeptLevel(Emptransfer emptransfer,
			String s, Map map);

	public abstract boolean saveDeptOrder(String as[]);
}
